Skip to content

Conversation

@tttamaki
Copy link
Contributor

@tttamaki tttamaki commented Dec 25, 2025

I added the following two optimizers, both for minimizing the sum of prox operators.

  • Parallel Proximal Algorithm (PPXA) for minimizing the sum of proximable functions
  • ConsensusADMM for solving the global consensus problem with ADMM

also I added some tests with existing ADMM and GeneralizedProximalGradient.

The function of these optimizers is similar to GeneralizedProximalGradient, but more common in books and hence better to be implemented.

…n and tests

- Parallel Proximal Algorithm (PPXA) for minimizing the sum of proximable functions
- ConsensusADMM for solving the global consensus problem with ADMM
- add tests in test_solver.py
  - test_ConsensusADMM_with_ADMM
  - test_ConsensusADMM_with_ADMM_for_Lasso
  - test_ConsensusADMM_with_GPG
  - test_PPXA_with_ADMM
  - test_PPXA_with_GPG
@mrava87
Copy link
Contributor

mrava87 commented Dec 27, 2025

Thanks @tttamaki, will take a look soon and provide my review 😄

Copy link
Contributor

@mrava87 mrava87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tttamaki great work! I just left some minor comments but in general I am happy with the new additions 😄

primal.py
- prox_ops --> proxfs
- np --> numpy
- fix description of niter
- remove () in math superscripts
- add some comments

test_solver.py
- change niter to fit each test with seeds 0 to 499
- change tau to random value
- change the order of argments to assert_array_almost_equal (actual <--> desired)
@mrava87 mrava87 self-requested a review January 5, 2026 22:37
@mrava87 mrava87 merged commit 45bdc26 into PyLops:dev Jan 5, 2026
11 of 12 checks passed
@tttamaki
Copy link
Contributor Author

tttamaki commented Jan 5, 2026

@mrava87 Thanks for a quick merge! Now I can use these solvers as official ones :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants